This tutorial shows how to show current location on a Map.
ContentView.swift
import SwiftUI
import UIKit
import MapKit
struct ContentView: View {
@State var checkpoints: [Checkpoint] = [
Checkpoint(title: "Da Nang", coordinate: .init(latitude: 16.047079, longitude: 108.206230)),
Checkpoint(title: "Ha Noi", coordinate: .init(latitude: 21.027763, longitude: 105.834160))
]
var body: some View {
MapViewAdvance(checkpoints: $checkpoints)
}
}
final class Checkpoint: NSObject, MKAnnotation {
let title: String?
let coordinate: CLLocationCoordinate2D
init(title: String?, coordinate: CLLocationCoordinate2D) {
self.title = title
self.coordinate = coordinate
}
}
struct MapViewAdvance: UIViewRepresentable {
@Binding var checkpoints: [Checkpoint]
func makeUIView(context: Context) -> MKMapView {
MKMapView()
}
func updateUIView(_ uiView: MKMapView, context: Context) {
uiView.addAnnotations(checkpoints)
}
}
struct ContentViewAdvance: View {
@State var checkpoints: [Checkpoint] = [
Checkpoint(title: "Da Nang", coordinate: .init(latitude: 16.047079, longitude: 108.206230)),
Checkpoint(title: "Ha Noi", coordinate: .init(latitude: 21.027763, longitude: 105.834160))
]
var body: some View {
MapViewAdvance(checkpoints: $checkpoints)
}
}
Simulator